package com.jyw.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jyw.system.domain.SysDeptIpAddress;
import com.jyw.system.domain.dto.SysDeptIpAddressBatchAddDto;
import com.jyw.system.domain.dto.SysDeptIpAddressEditDto;
import com.jyw.system.domain.dto.SysDeptIpAddressPageDto;
import com.jyw.system.domain.vo.SysDeptIpAddressVo;

import java.util.List;

/**
 * 科室IPService接口
 *
 * @author zhangcheng
 * @date 2024-01-10
 */
public interface ISysDeptIpAddressService extends IService<SysDeptIpAddress> {

    /**
     * 查询科室IP列表
     *
     * @param pageDto
     * @return
     */
    List<SysDeptIpAddressVo> getIpAddressList(SysDeptIpAddressPageDto pageDto);

    /**
     * 根据科室ID查询科室IP列表
     *
     * @param deptId
     * @return
     */
    List<SysDeptIpAddressVo> getIpAddressByDeptId(Long deptId);

    /**
     * 查询科室IP详情
     *
     * @param id
     * @return
     */
    SysDeptIpAddressVo getInfoById(Long id);

    /**
     * 查询科室IP
     *
     * @param deptId
     * @param ipAddress
     * @return
     */
    SysDeptIpAddress getIpAddress(Long deptId,String ipAddress);

    /**
     * 拼接 ip地址
     * @param ipAddressId
     * @return
     */
    String joinIpAddress(String ipAddressId);

    /**
     * @param batchAddDto
     */
    void sysBatchAdd(SysDeptIpAddressBatchAddDto batchAddDto);

    /**
     * 修改科室IP
     *
     * @param editDto
     */
    void sysEdit(SysDeptIpAddressEditDto editDto);

    /**
     * 批量删除科室IP
     *
     * @param ids 需要删除的科室IP主键集合
     * @return 结果
     */
    int deleteSysDeptIpAddressByIds(Long[] ids);

}
